package com.xuyiwei.xblog.business.article.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.xuyiwei.xblog.business.article.model.Comment;
import com.xuyiwei.xblog.business.article.result.article.input.CommentConditionVO;
import com.xuyiwei.xblog.business.article.result.article.out.CommentDto;
import com.xuyiwei.xblog.core.page.PageInfoBT;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 文章评论 服务类
 * </p>
 *
 * @author xuyiwei
 * @since 2018-10-29
 */
public interface ICommentService extends IService<Comment> {

    /**
     * 返回page页面
     * @param vo
     * @return
     */
    List<CommentDto> findPageByCondition(Page<CommentDto> page, CommentConditionVO vo, String orderField, boolean isAsc);

    /**
     * 发表评论
     *
     * @param comment
     * @return
     */
    void reply(Comment comment);

    /**
     * 填充评论  ip  时间是什么的
     *
     * @param comment
     * @return
     */
    Comment fullComment(Comment comment);

    /**
     * 发送评论邮件提醒
     * @param comment
     */
    void sendEmail(Comment comment);


    /**
     * admin发表评论
     *
     * @param comment
     * @return
     */
    void commentForAdmin(Comment comment);

    /**
     * 发表评论
     *
     * @param comment
     * @return
     */
    void comment(Comment comment);
}
